#ifndef __SLIST_H
#define __SLIST_H

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int SLTDataType;

typedef struct SListNode
{
    SLTDataType data;
    struct SListNode* next;//存放下一个节点的指针
}SLTNode;

void SLTPrint(SLTNode* phead);

SLTNode* BuySListNode(SLTDataType x);

SLTNode* SLTFind(SLTNode* phead,SLTDataType x);

void SLTPushBack(SLTNode** pphead,SLTDataType x);
void SLTPopBack(SLTNode** pphead);

void SLTPushFront(SLTNode** pphead,SLTDataType x);
void SLTPopFront(SLTNode** pphead);

void SLTInsert(SLTNode** pphead,SLTNode* pos,SLTDataType x);
void SLIInsertAfter(SLTNode* pos,SLTDataType x);

void SLTErase(SLTNode** pphead,SLTNode* pos);
void SLTEraseAfter(SLTNode* pos);



#endif

